OLE v konzolovej aplikacii - este raz
Otázka od: Brano
13. 10. 2004 12:44
zdravim vsetkych,
este raz a kompletne...
potreboval by som v Delphi konzolovej aplikacii nacitat udaje z xls
excelovskeho suboru.
Program je asi:
{$APPTYPE CONSOLE}
uses
SysUtils, Variants, ComObj;
var
ExcelApp: Variant;
begin
try
ExcelApp:=CreateOleObject('Excel.Application');
^
tu dojde k vynimke EOLESysError, Delphi IDE da asi takuto chybovu hlasku:
Debugger Exception Notification
Project raised exception class EOleSysError with message
'CoInitialize
has not been called'...
Rovnaky postup v normalnej oknovej aplikacii funguje bez chyb.
Vdaka
Brano
Odpovedá: Karel Kral
13. 10. 2004 12:47
A co kdybys napred zavolal to CoInitialize, jak ti radi ta chybova
zprava? V ConsoleApp se to nevola automaticky.
Brano napsal(a):
> zdravim vsetkych,
>
> este raz a kompletne...
>
> potreboval by som v Delphi konzolovej aplikacii nacitat udaje z xls
> excelovskeho suboru.
> Program je asi:
>
> {$APPTYPE CONSOLE}
> uses
> SysUtils, Variants, ComObj;
> var
> ExcelApp: Variant;
> begin
> try
> ExcelApp:=CreateOleObject('Excel.Application');
> ^
> tu dojde k vynimke EOLESysError, Delphi IDE da asi takuto chybovu hlasku:
>
> Debugger Exception Notification
> Project raised exception class EOleSysError with message
'CoInitialize
> has not been called'...
>
> Rovnaky postup v normalnej oknovej aplikacii funguje bez chyb.
>
> Vdaka
>
> Brano
--
______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral@purus.cz, WWW: http://www.purus.cz
______________________________________________________
Odpovedá: Ales Pavel
13. 10. 2004 20:41
>Brano napsal:
>
>
>este raz a kompletne...
>potreboval by som v Delphi konzolovej aplikacii nacitat udaje z xls
>>excelovskeho suboru.
>>Program je asi:
>>{$APPTYPE CONSOLE}
>>uses
>> SysUtils, Variants, ComObj;
>>var
>> ExcelApp: Variant;
>>begin
>>try
>> ExcelApp:=CreateOleObject('Excel.Application');
>>tu dojde k vynimke EOLESysError, Delphi IDE da asi takuto chybovu hlasku:
>>Debugger Exception Notification
>>Project raised exception class EOleSysError with message
'CoInitialize
>>has not been called'...
>
>
Aldik na to:
Vzdyt ti to tam pise musis volat fci OLEInitialize nebo tak nejak se ta
fce jmenuje a na konci to i patricne uvolnit.
Pochopil jsem to tak ze se alokuje prostor pro pouziti ole objektu v
programu, ale je to jen muj dohad.
Brano napsal:
>Rovnaky postup v normalnej oknovej aplikacii funguje bez chyb.
Aldik na to:
>Tak si to vola tusim application.initializacion
>
>
dokonce bys tam i zarucene dohledal pouziti.
Aldik